Events এবং Callback Functions হল জাভাস্ক্রিপ্টের গুরুত্বপূর্ণ ধারণা যা ডাইনামিক ওয়েব পেজ তৈরি করতে ব্যবহৃত হয়। এগুলি ওয়েব পেজের ইন্টারঅ্যাকশন এবং ইউজার ইনপুট প্রক্রিয়া পরিচালনা করতে সাহায্য করে। যখন কোন ইউজার কোনো ইন্টারঅ্যাকশন করেন, তখন তা কার্যকর করার জন্য ইভেন্ট এবং কলব্যাক ফাংশন ব্যবহৃত হয়।
ইভেন্ট হল কোনো বিশেষ কার্যকলাপ বা পরিস্থিতি যা ব্রাউজারে ঘটে, যেমন ইউজারের ক্লিক করা, মাউস মুভ করা, কীবোর্ডে কিছু চাপা, বা পেজ লোড হওয়া। ইভেন্টগুলি ডকুমেন্টের বিভিন্ন অংশে ঘটতে পারে, এবং ব্রাউজার ইভেন্টগুলি পর্যবেক্ষণ করে, সেগুলোর জন্য প্রক্রিয়া তৈরি করতে সক্ষম হয়।
ইভেন্ট লিসেনার হল একটি ফাংশন যা একটি নির্দিষ্ট ইভেন্টের জন্য অপেক্ষা করে এবং সেই ইভেন্ট ঘটলে কল হয়। ব্রাউজারে addEventListener()
মেথড ব্যবহার করে ইভেন্ট লিসেনার যুক্ত করা হয়।
<button id="myButton">Click Me</button>
<script>
const button = document.getElementById('myButton');
button.addEventListener('click', function() {
alert('Button clicked!');
});
</script>
এখানে, addEventListener()
মেথডের মাধ্যমে বাটনটিতে ক্লিক করলে একটি এলার্ট মেসেজ প্রদর্শিত হবে।
Callback Function হল একটি ফাংশন যা অন্য একটি ফাংশনের আর্গুমেন্ট হিসেবে পাস করা হয় এবং তারপর সেই ফাংশনটি একটি নির্দিষ্ট সময় পরে বা কোনো নির্দিষ্ট পরিস্থিতিতে কল হয়। এটি সাধারণত অ্যাসিঙ্ক্রোনাস (asynchronous) প্রোগ্রামিংয়ে ব্যবহৃত হয়।
যখন আপনি একটি ফাংশন কল করেন, সেই ফাংশনটির কিছু কাজ সম্পন্ন হওয়ার পরে একটি কলব্যাক ফাংশনকে কল করা হতে পারে। কলব্যাক ফাংশনকে অ্যাসিঙ্ক্রোনাস কাজের শেষে কার্যকর করা হয়।
function greet(name, callback) {
console.log('Hello, ' + name);
callback();
}
function thankYou() {
console.log('Thank you for visiting!');
}
greet('John', thankYou);
এখানে, greet()
ফাংশনটি একটি callback
আর্গুমেন্ট নেয় এবং কাজ শেষে thankYou()
কলব্যাক ফাংশনটিকে কল করে।
জাভাস্ক্রিপ্টে অ্যাসিঙ্ক্রোনাস কাজের জন্য কলব্যাক ফাংশন ব্যবহার করা হয়, যেমন সার্ভার থেকে ডেটা ফেচ করা, সময় নির্ধারণ করা বা ফাইল আপলোড করা।
console.log('Start');
setTimeout(function() {
console.log('This will run after 2 seconds');
}, 2000);
console.log('End');
এই উদাহরণে, setTimeout()
একটি অ্যাসিঙ্ক্রোনাস ফাংশন যা ২ সেকেন্ড পরে কলব্যাক ফাংশনটি চালু করবে। এখানে Start
এবং End
একসাথে প্রিন্ট হবে, তারপর ২ সেকেন্ড পরে কলব্যাক ফাংশনটি রান করবে।
ইভেন্ট এবং কলব্যাক ফাংশন একসাথে কাজ করতে পারে, যেখানে ইভেন্টের মাধ্যমে কলব্যাক ফাংশন ট্রিগার হয়। উদাহরণস্বরূপ, আপনি একটি বাটনে ক্লিক করলে একটি কলব্যাক ফাংশন কল করতে পারেন।
<button id="clickButton">Click Me!</button>
<script>
const button = document.getElementById('clickButton');
button.addEventListener('click', function() {
alert('Button clicked!');
});
</script>
এখানে, click
ইভেন্টের মাধ্যমে কলব্যাক ফাংশনটি ট্রিগার হয়।
এই দুটি ধারণা মিলিয়ে ওয়েব অ্যাপ্লিকেশন এবং ইউজার ইন্টারফেসে ইন্টারঅ্যাকশন পরিচালনা করা হয়।
Read more